home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / graphics / geodome1.zip / geodome.doc < prev    next >
Text File  |  1994-04-29  |  6KB  |  178 lines

  1.                                     GEODOME 
  2.  
  3.                                   Version 1.1
  4.  
  5.                               Copyright (C) 1994 
  6.  
  7.                                  Andy Wardley 
  8.  
  9.                              All Rights Reserved.
  10.  
  11.  
  12.  
  13. Copyright Notice:
  14. =================
  15.  
  16. GEODOME is freely distributed software.  No charge or registration fee is
  17. required for using the program and it may be distributed by any electronic
  18. or magnetic media providing the package is complete and unchanged.
  19.  
  20. No charge may be made for the program expect a small handling charge or
  21. for media supplied.  The program may not be sold in any other way without
  22. the express permission of the author, Andy Wardley <abw@oasis.icl.co.uk>.
  23.  
  24. No guarantees or warranties are made with the program and the author can
  25. accept no responsibility for any damages or losses incurred through using
  26. this program.
  27.  
  28.  
  29.  
  30. Introduction:
  31. =============
  32.  
  33. GEODOME is a utility to create data files for the POV-Ray ray tracer, 
  34. Version 2.x.  It creates geodesic spheres that are created from either
  35. triangular facets, or from a mesh of pipes and joints, depending on what
  36. the user requires.
  37.  
  38.  
  39.  
  40. Usage:
  41. ======
  42.  
  43. Running GEODOME with the -h option (infact, any non-valid option) will 
  44. display a summary screen:
  45.  
  46. --
  47. GEODOME V1.1     Geodome generator for POV-Ray V2.n      23-01-94
  48. (C) 1994 Andy Wardley <abw@oasis.icl.co.uk>.  All Rights Reserved
  49.  
  50. usage:
  51.     geodome [-r depth] [-t | -m [-p radius] [-j radius]]
  52.  
  53.     -r depth      recursion depth (default: 3)
  54.     -t            generate triangles (default)
  55.     -m            generate pipe mesh
  56.     -p radius     pipe radius (mesh only) (default: 0.0100)
  57.     -j radius     joint radius (mesh only) (default: 0.0150)
  58.  
  59. GEODOME may be freely distributed provided it is in its
  60. original form and has not been modified in any way.
  61. --
  62.  
  63. If no options are specified, a faceted geodome is created with a recursion
  64. level (see below) of 3.  The data is sent to the standard output (stdout)
  65. and should be redirected to a file using the '>' operator.
  66.  
  67. e.g.  geodome > geodome.inc
  68.  
  69. In the above example, the output is sent to a file named "geodome.inc" which
  70. will contain something like the following (edited for clarity):
  71.  
  72. --
  73. /* model data created by geodome V1.1  */
  74. /* by Andy Wardley <abw@oasis.icl.co.uk> */
  75.  
  76. #declare geodome_eighth =
  77. union {
  78.     triangle {
  79.         <0.0000000000, 1.0000000000, 0.0000000000>
  80.         <0.0000000000, 0.9807852804, 0.1950903220>
  81.         <0.1950903220, 0.9807852804, 0.0000000000>
  82.     }
  83.  
  84. [...snip...deleted to save space...]
  85.  
  86.     triangle {
  87.         <0.6396021491, 0.4264014327, 0.6396021491>
  88.         <0.6396021491, 0.6396021491, 0.4264014327>
  89.         <0.4264014327, 0.6396021491, 0.6396021491>
  90.     }
  91. }
  92.  
  93.  
  94. #declare geodome_hemisphere = 
  95. union {
  96.     object { geodome_eighth }
  97.     object { geodome_eighth rotate <0, 90, 0> }
  98.     object { geodome_eighth rotate <0, 180, 0> }
  99.     object { geodome_eighth rotate <0, 270, 0> }
  100. }
  101.  
  102.  
  103. #declare geodome = 
  104. union {
  105.     object { geodome_hemisphere }
  106.     object { geodome_hemisphere rotate <180, 0, 0> }
  107. }
  108. --
  109.  
  110. You can then #include this file into a povray scene file and use the defined
  111. objects "geodome_eight", "geodome_hemisphere" and "geodome" as you require.
  112. The effective radius of the geodome is 1 unit and it is centred on the origin.
  113. The object can be scaled and translated as required.
  114.  
  115. As GEODOME is creating the data file, a summary of what it is doing will be
  116. displayed to standard error (stderr).  It's not important to know what this
  117. means, suffice it to say that you will still see the message even if 
  118. redirecting standard output to a file (using '>').
  119.  
  120.  
  121.  
  122. Options:
  123. ========
  124.  
  125. -r depth        This option sets the recursion depth.  If none is specified,
  126.                 it defaults to 3.  
  127.  
  128. GEODOME works by taking a triangle and sub-dividing it into a further 4 
  129. triangle.  Each of these is then sub-divided, and so on.  The recursion 
  130. depth specifies how many times this happens.  
  131.  
  132. A depth of 1 means that each "side" (i.e. eighth) of the dome has 4 triangles.  
  133. Depth 2 gives 16 (4 * 4), 3 gives 64 (4 * 4 * 4), 4 gives 256, and so on.  
  134. As you can see, it's not long before the number gets very large.  At high 
  135. recursion depths, it's likely you'll end up waiting a long time, assuming 
  136. that you don't run out of memory or disk space first.
  137.  
  138. -t              Specifies that the geodome should be constructed from a 
  139.                 series of triangles.  This is the default and can actually
  140.                 be ignored.
  141.  
  142. -m              Instructs GEODOME to create a data file consisting of pipes
  143.                 (cylinders) and joints (spheres).  
  144.  
  145. When the -m option is used to specify mesh mode, the -p and -j options can
  146. be applied.  If the -t option is used, the -p and -j options are ignored.
  147.  
  148. -p radius       Specifies the radius of the pipes that consist the framework.
  149.                 This defaults to 0.01 units.
  150.  
  151. -j radius       Specifies the radius of the joints connecting the pipes.
  152.                 This defaults to 0.015 units.
  153.  
  154.  
  155.  
  156. Examples:
  157. =========
  158.  
  159. geodome                  Default operation (facets, recursion depth 3).  
  160.  
  161. geodome -r 2             Create facets with recursion depth 2.
  162.  
  163. geodome -m               Create a mesh (use default pipe and joint widths).
  164.  
  165. geodome -m -j 0.02       Mesh with joint radius of 0.02.
  166.  
  167.  
  168.  
  169. Compiling:
  170. ==========
  171.  
  172. The source code is distributed with GEODOME to allow you to compile it
  173. for your own system.  The code compiles cleanly on a SVR4 UNIX machine,
  174. but is untested on any other system.  Maths library is required and 
  175. getopts must be provided (this rules out most DOS compilers).
  176.  
  177.  
  178.